import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;


public class KidSentPalloncino extends Thread{
	Kid giocatore;
	KidId vicino;
	public KidSentPalloncino(Kid giocatore,KidId vicino) {
		this.giocatore=giocatore;
		this.vicino=vicino;
	}
	

	public void run(){
		ObjectOutputStream out=null;
		Socket requestSocket=null;
		String message="attendi";
		while(true){
		while (!giocatore.getPalloncino())
			try {
				System.out.println("sono "+giocatore.getNome()+ "[send palloncino] attendo palloncino");
				wait();
			} catch (InterruptedException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			System.out.println("sono "+giocatore.getNome()+ "[send palloncino] ho ricevuto palloncino");
		try {
			requestSocket = new Socket("localhost", vicino.getPorta());
			while (message.equals("ok")) {
				System.out.println("sono "+giocatore.getNome()+ "[send palloncino] tento di inviare il palloncino");
				out = new ObjectOutputStream(requestSocket.getOutputStream());
				ObjectInputStream in = new ObjectInputStream(requestSocket.getInputStream());
				out.writeObject("palloncino");
				out.flush();
				in = new ObjectInputStream(requestSocket.getInputStream());
				message = (String) in.readObject();
			}
			System.out.println("sono "+giocatore.getNome()+ "[send palloncino] ho inviato palloncino");
		giocatore.setPalloncino(false);	
		
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();	
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

	}}

	
}